package com.sg.service.biz.calc.nb;

import cn.hutool.core.bean.BeanUtil;
import com.sg.dto.biz.calc.req.AddAcceptFieldReqDto;
import com.sg.dto.biz.calc.req.ImplementCalcReceivingField001ReqDto;
import com.sg.dto.biz.calc.req.ImplementCalcReceivingField005ReqDto;
import com.sg.dto.biz.calc.req.ImplementReceiveFieldReqDto;
import com.sg.dto.biz.calc.res.AddAcceptFieldRespDto;
import com.sg.dto.biz.calc.res.ImplementCalcReceivingField001RespDto;
import com.sg.dto.biz.calc.res.ImplementCalcReceivingField005RespDto;
import com.sg.dto.biz.calc.res.ImplementReceiveFieldRespDto;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;

/**
 * @author ： 手工接入方法
 * @version 1.0
 * @since 2022/5/28 15:32
 */
@Service
public class NbSystemTestDomain {
    /**
     * code:receptionService
     * name:M4-执行接收字段（特殊方法）
     * desc:undefined
     * gen by moon at 8/30/2022, 12:50:02 AM
     **/
    @Trace(operationName = "M4-执行接收字段（特殊方法）")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementReceiveFieldRespDto implementReceiveField(ImplementReceiveFieldReqDto reqDto) {

        return BeanUtil.toBean(reqDto, ImplementReceiveFieldRespDto.class);
    }

    /**
     * code:receptionService
     * name:M4接收入参字段
     * desc:undefined
     * gen by moon at 6/13/2024, 4:10:18 PM
     **/
    @Trace(operationName = "M4接收入参字段")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcReceivingField001RespDto implementCalcReceivingField001(ImplementCalcReceivingField001ReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementCalcReceivingField001RespDto.class);

    }

    /**
     * code:receptionService
     * name:M4接收出参字段
     * desc:undefined
     * gen by moon at 6/13/2024, 4:10:23 PM
     **/
    @Trace(operationName = "M4接收出参字段")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcReceivingField005RespDto implementCalcReceivingField005(ImplementCalcReceivingField005ReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementCalcReceivingField005RespDto.class);
    }

    /**
     * code:receptionService
     * name:M4-接收字段入参（计算使用）
     * desc:undefined
     * gen by moon at 9/22/2024, 2:51:46 PM
     **/
    @Trace(operationName = "M4-接收字段入参（计算使用）")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public AddAcceptFieldRespDto addAcceptField(AddAcceptFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, AddAcceptFieldRespDto.class);
    }
    //手工接入方法
}
